#ifndef __G_IPC_FORMAT_H__
#define __G_IPC_FORMAT_H__

#include "g_timer.h"

typedef struct {
    UART_TypeDef    *debug_uart;
    G_TIM_NumTypeDef 	debug_timer;
    G_TIM_NumTypeDef	debug_counter;
}G_Ipc_DebugConfig_CB;

typedef struct {
	uint8_t* FP_buf;
	uint32_t FP_bufLen;
	volatile int      FP_ret;
    volatile uint32_t FP_EndStatus;
}G_Ipc_FpPara_CB; //fingerprint identification

typedef struct {
	uint32_t IflashAddr;
	uint32_t IflashBufferAddr;
	uint32_t IflashwrSize;
    uint32_t IflashRvStartAddr;
    uint32_t IflashRet;
    volatile uint32_t IflashReadyStatus;
    volatile uint32_t IflashEndStatus;
}G_Ipc_IflashPara_CB;


typedef struct {
    volatile uint32_t rv_pause_ready;
    volatile uint32_t rv_pause_end;
    G_Ipc_IflashPara_CB   Ipc_IflashParaCB;
    G_Ipc_FpPara_CB       Ipc_FpParaCB;
	G_Ipc_DebugConfig_CB  Ipc_DebugConfigCB;
}G_IpcInitTypeDef;

#endif
